package com.erp.order.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.ae.api.domain.AeHandoverCommitInfo;
import com.ruoyi.common.core.web.oldDomain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 菜鸟交接单对象 erp_handover_order_info
 *
 * @author erp
 * @date 2023-04-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("erp_handover_order_info")
public class ErpHandoverOrderInfo extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 店铺在Ae的唯一id
     */
    private Long sellerId;
    /**
     * cn开头主键
     */
    private String userNick;
    /**
     * LP单号列表;LP单号列表
     */
    private String orderCodeList;
    /**
     * 子订单id列表
     */
    private String childOrderIdList;
    /**
     * 是否跳过不允许组包的小包（包括：状态不允许组包，已经组过包，揽收仓不一致，发货方式不一致）;是否跳过不允许组包的小包（包括：状态不允许组包，已经组过包，揽收仓不一致，发货方式不一致）
     */
    private String skipInvalidParcel;
    /**
     * 大包备注;大包备注
     */
    private String remark;
    /**
     * 交接批次号，即交接单id;交接批次号，即交接单id
     */
    private Long handoverContentId;
    /**
     * 交接物编码，即大包LP号;交接物编码，即大包LP号
     */
    private String handoverContentCode;
    /**
     * 面单云打印数据
     */
    private String printData;
    /**
     * 0-暂不可声明发货 1-待声明发货 2-已声明发货
     */
    private Integer shipmentForTopFlag;
    /**
     * 退件地址id;退件地址id
     */
    private Long returnInfo;
    /**
     * 揽收地址id;揽收地址id
     */
    private Long pickupInfo;
    /**
     * 大包重量
     */
    private Long weight;
    /**
     * 交接单id
     */
    private Long handoverOrderId;
    /**
     * 每个商家在ISV系统的唯一标识，一般为商家ISV账号的id
     */
    private String userInfo;
    /**
     * 重量单位，克:g, 千克:kg，默认g
     */
    private String weightUnit;
    /**
     * 交接单类型：cainiao_pickup(菜鸟揽收)、self_post(自寄)、self_send(自送)
     */
    private String type;
    /**
     * ISV名称，ISV：ISV-ISV英文或拼音名称、商家ERP：SELLER-商家英文或拼音名称
     */
    private String client;
    /**
     * 多语言
     */
    private String locale;
    /**
     * 预约交货方式（bigbag：大包预约，batch：批次预约））
     */
    private String appointmentType;
    /**
     * 国内运单号（交接单类型type为self_post(自寄)时必填）
     */
    private String domesticTrackingNo;
    /**
     * 国内物流公司id（交接单类型type为self_post(自寄)时必填）
     */
    private String domesticLogisticsCompanyId;
    /**
     * 国内物流公司编码（交接单类型type为self_post(自寄)时必填）
     */
    private String domesticLogisticsCompany;
    /**
     * 货好时间时间戳
     */
    private Long gmtReadyToShip;
    /**
     * 托盘数量
     */
    private Long palletQuantity;
    /**
     * 容器类型(1、托盘;2、大包或盒子3、散装)
     */
    private String containerType;
    /**
     * 是否预先组大包，true：是。false：否
     */
    private String prePackage;
    /**
     * 乐观锁
     */
    private String revision;

    private String handover_content_code;

    private AeHandoverCommitInfo.UserInfo user_info;

    @Data
    public static class UserInfo {
        private String top_user_key;
    }
}
